package utils.convert;

import java.math.BigDecimal;
import java.text.DecimalFormat;

/**
 * 数字类转换
 * @author yanghao
 * 2015年6月11日 下午2:55:54
 */
public class Convert {
	/**
	 * 将字符串转换为整型
	 * @param s
	 * @param def 转换失败后的默认值
	 * @return
	 * @author yanghao
	 * 2015年6月11日 下午2:59:25
	 */
	public static int convertToInt(String s,int def){
		if(s==null){
			return def;
		}
		int i;
		try{
			if(s.contains(".")){
				String str = s.substring(0, s.lastIndexOf("."));
				i = Integer.parseInt(str);
			}
			i = Integer.parseInt(s);
		}catch(Exception e){
			i = def;
		}
		return i;
	}
	/**
	 * 将字符串转换为长整型
	 * @param s
	 * @param def
	 * @return
	 * @author yanghao
	 * 2015年6月18日 下午4:41:22
	 */
	public static long convertToLong(String s,long def){
		if(s==null){
			return def;
		}
		long i;
		try{
			i = Long.parseLong(s);
		}catch(Exception e){
			i = def;
		}
		return i;
	}
	
	/**
	 * 将字符串转换为浮点型
	 * @param s
	 * @param def
	 * @return
	 * @author yanghao
	 * 2015年6月18日 下午4:41:22
	 */
	public static double convertToDouble(String s,double def){
		if(s==null){
			return def;
		}
		double i;
		try{
			i = Double.parseDouble(s);
		}catch(Exception e){
			i = def;
		}
		return i;
	}
	/**
	 * 将字符串转换为字符串
	 * @param s
	 * @param def
	 * @return
	 * 2015年9月26日 上午10:34:48
	 * @auth huan208050@vip.qq.com
	 */
	public static String convertToStr(String s,String def){
		if(s==null){
			return def;
		}
		
		return s;
	}
	
	/**
	 * 格式化金额为两位小数
	 * @param f
	 * @return
	 * @author yanghao
	 * 2015年7月1日 下午5:25:40
	 */
	public static String doubleFormatTo2(double f){
		DecimalFormat df = new DecimalFormat("0.00");
		return df.format(f);
	}
	
	public static void main(String[] args) {
		Double sss = 10/3d;
		System.out.println(sss);
		BigDecimal big = new BigDecimal(sss);
		BigDecimal dddd = big.setScale(2, BigDecimal.ROUND_HALF_UP);
		System.out.println(dddd);
		System.out.println(dddd.doubleValue());
	}
}
